1. Field of the Invention
This invention is related to object classification, and more particularly to a method and system for automatically generating a knowledge database for use in object classification systems.
2. Description of the Related Art
Classifying objects according to a pre-defined set of primitives, or attributes, is an important tool in quantifying characteristics associated with a sample object taken from a population of similar objects. In this regard, object classification is useful where the parent population is very large, for example, in categorizing and cataloging celestial images, or when the population is dynamic and its characteristics change over time, such as defects on semiconductor wafers, or magnetic disks, cataloging bacteria, and the like. Temporal or demographic shifts in object classes are identified by sampling objects, recording their attributes, and determining an object class appropriate to that object. In determining the object class of an object, a knowledge database ("KDB") typically compares the characteristics of an unknown object to the characteristics of pre-classified objects cataloged in the KDB. KDB's are generally encoded as machine readable code in a computer system, and the comparison is performed by a computer to automatically classify the unknown object.
Automatic classification of objects has been recognized by electronic device manufacturing companies as an important tool for significant improvement in identifying, and tracking device defects. The occurrence of certain defect types, for example, will indicate problems with raw materials such as contaminated feedstocks or process solvents, and other process problems such as air-born contamination, and the like. By analyzing defects as to type (or class), and frequency, steps may be taken to correct the cause of the defect, thereby enhancing product performance and competitiveness, and improving process yields.
Semiconductor defects, for example, include structural flaws, and process residues and other surface contamination which occur during the production of semiconductor wafers. Defects are typically detected by a class of instruments called defect scanners. Such instruments automatically scan wafer surfaces and detect, and record the location of optical anomalies using a variety of techniques. This information, or "defect map," is stored in a computer file and sent to a defect review station.
Using the defect map to locate each defect, a human operator observes each defect under a microscope and classifies each defect according to class (e.g., particle, pit, scratch, or contaminant). Information gained from this process is used to correct the source of defects, and thereby improve the efficiency and yield of the semiconductor production process. Problems with this classification method include the technician's subjectivity in identifying the defect class, and the fatigue associated with the highly repetitive task of observing and classifying these defects.
Methods of automatically classifying defects, collectively known as Automatic Defect Classification or "ADC," have been developed to overcome the disadvantages of manual defect classification. (ADC alternatively stands for Automatic Defect Characterization.) In conventional ADC, review stations are automated to load a wafer that has been mapped for defect location by a defect scanner. Once the mapped wafer is loaded, the review station:
1. positions the wafer to image the site of a defect, as indicated by the defect map; PA1 2. focuses on the site of the defect; PA1 3. captures a digital image of the site using a digital TV camera; PA1 4. processes and analyzes the captured image of the site to locate the defect; and PA1 5. further analyzes the data to classify the defect. PA1 1--Identify a class cluster pair. PA1 2--For each pair of class clusters identify a descriptor vector (or "point") in one class cluster whose distance to a corresponding point in the other class cluster represents the smallest distance between any two points as between the two class clusters; i.e., the smallest inter-class distance, and select these points as extreme points (inter-class extreme points). PA1 3--For each pair of class clusters identify a point in one class cluster whose distance to a corresponding point in the other class cluster represents the largest distance between any two points as between the two class clusters; i.e., the largest inter-class distance, and select these points as extreme points (inter-class extreme points).
The above process is repeated for each defect (or a predetermined subset of defects) on the wafer. The wafer is then unloaded and the process is repeated for another wafer. By eliminating a fatiguing and highly repetitive task, such automated review stations reduce labor costs and provide improved consistency and accuracy over human operators.
Accordingly, an ADC system uses image processing techniques to first detect the defect and then to classify the defect according to the defect's physical characteristics. Comparing these physical characteristics to the physical characteristics of pre-classified defects in a KDB permits automated defect classification. While this system reduces technician fatigue, and increases the number of defects that can be classified per unit time, there is presently a problem with such KDB programs providing an accurate classification.
Generating a KDB for classifying objects typically utilizes direct coding methods, whereby an operator subjectively selects what are thought to be typical defects and enters the defect images and predetermined classification codes into a detection system to generate a knowledge database that is later used by an ADC system for classifying unknown defects.
A knowledge database generated by this method is inherently inaccurate since human variability, introduced in the initial subjective identification of the defect type, is included in the KDB. Moreover, present database generating methods, including direct coding, are time consuming and require a significant amount of highly trained, manpower resources.
Accordingly, there is a need for a method for automatically generating a KDB for classifying objects that does not require the manpower resources of presently known database generating methods, and that overcomes the subjective variability associated with KDB's of the prior art.